package com.example.demo.mapper;

import com.example.demo.entity.UserQue;
import com.example.demo.entity.Userinfo;
import com.example.demo.entity.vo.UserinfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

@Mapper
public interface UserMapper {
    // 1. 用户注册 --> 插入.  传入对象后期更好维护.
    Integer register(UserinfoVO userinfoVO);

    //2. 用户登录 --> 设置数据库userinfo中的username字段为唯一标识,
    // 通过username查询用户.
    Userinfo getUserByName(@Param("username") String username);

    // 7. 根据用户id查询列表页用户信息
    UserinfoVO getUserById(@Param("id") Integer id);

    // 修改用户密码
    Integer updPassword(Userinfo userinfo);

    // 设置密保问题
    Integer addQuestion(UserQue userQue);

    // logcount - 1
    Integer reduceLogCount(@Param("logcount") Integer logcount, @Param("id") Integer id);

    // 设置用户状态码
    Integer setUserState(@Param("state") Integer state, @Param("id") Integer id);

    // 获取用户昵称
    String getNickName(@Param("id") Integer id);

    // 修改用户昵称
    Integer updNickName(UserinfoVO userinfoVO);

    // 修改用户头像
    Integer upLodePhoto(@Param("photo") String photo, @Param("id") Integer id);



}
